home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 30 / tbscnx29.zip / NOTES.TXT next >
Text File  |  1991-06-16  |  13KB  |  245 lines

  1.  
  2. General notes for TbScan and TbScanX
  3. ------------------------------------
  4.  
  5. TbScan(X) does not mean TurBo-SCAN as some users assume, but stands for
  6. Thunderbyte Scan. TbScan and TbScanX are supplied on the Thunderbyte
  7. disk which makes part of the Thunderbyte hardware PC Immunizer package.
  8.  
  9. If you loaded TbScanX in video-memory it is possible that TbScan detects
  10. signatures in upper memory. TbScanX does not always scramble the signatures
  11. to gain some speed when it is using (slow) video-memory or expanded memory.
  12.  
  13. Due to safety routines in the TbScan(X) programs, it can not be compressed
  14. with programs like PkLite, LzExe, or Diet. This is not very painfull
  15. after all because the files aren't that big!
  16.  
  17. TbScan and TbScanX both need a signature file TBSCAN.DAT or
  18. VIRUSSIG.DAT. Because these files are updated a lot, they are not
  19. supplied with this package. Both of these files are available at
  20. Thunderbyte support BBS +31-85-212395 (2:280/200@fidonet) or at many
  21. other BBSs.
  22.  
  23.  
  24. Notes concerning TbScan
  25. -----------------------
  26.  
  27. Some users think that scanning for all viruses in all files is the best
  28. scanning method (by using "TBSCAN *.* -a +n"). This is not true: It only
  29. increases the possibility of false alarms. It is not usefull to scan for
  30. bootsector viruses in .COM files or to scan for COM viruses in .EXE
  31. files. Use this option only when you already encountered a virus and
  32. want to make sure that you really destroyed all infected files.
  33.  
  34. If you use the -analyze option, TbScan will issue less warnings. This
  35. is due to the fact that the -analyze option disables the code interpreter
  36. of TbScan. And the code interpreter is the routine that is able to detect
  37. suspicious code. The -analyze option converts the scanner to a normal,
  38. conventional (but also very fast) scanner.
  39.  
  40. If you run TbScan AFTER you executed another scanner, it is possible that
  41. TbScan finds signatures of viruses in memory. This does not mean that
  42. you have a virus, but is caused by the fact that TbScan detects the
  43. search-signatures left in memory by the other virusscanner.
  44.  
  45. If you have a disk caching system it is recommended to disable the cacher,
  46. because TbScan will be faster in that case. While TbScan is scanning, the
  47. cacher keeps trying to determine what is going on, storing megabytes of data
  48. in its buffers, but TbScan will read every byte only once, and all clock
  49. cycles spend by the cacher to maintain the data are completely lost!
  50. So, switch that cacher temporary off, it can speed up the operation of
  51. TbScan with up to 20 percent!
  52.  
  53. Thunderbyte users who have a language file installed should download the
  54. most recent language file, because only the most recent language file
  55. contains the new texts of TbScan.
  56.  
  57.  
  58. Notes concerning TbScanX
  59. ------------------------
  60.  
  61. TbScanX is Windows 3.0 aware. It is recommended to load TbScanX BEFORE
  62. starting Windows (even in 386-enhanced-mode). TbScanX will not interfere
  63. with copies of it running in other DOS windows. It is even possible to
  64. disable TbScanX in one window while it is still enabled in another window.
  65. With other words, TbScanX maintains a separate data area for every DOS-window.
  66.  
  67. If you use a local area network you should invoke TbScanX AFTER the network
  68. software. Otherwise, TbScanX will not be able to detect if a remote file is
  69. being created/opened. In that case TbScanX will only be functional for the
  70. local drives.
  71.  
  72. Although TbScanX is very reliable, you should regulary use a normal transient
  73. scanner like TbScan, especially after an alarm of TbScanX.
  74.  
  75. Some people think that we went mad to implement an option to switch TbScanX
  76. off, because viruses can switch off TbScanX too! But, it is not dangerous
  77. at all. TbScanX detects a virus as soon as it is copied to your system,
  78. or before it is being executed. At that time the virus did not have the
  79. opportunity to switch TbScanX off at all! Of course, after the virus becomes
  80. active (and you ignored the first TbScanX warning), the virus could switch
  81. off TbScanX or completely remove it from memory. This applies to all
  82. resident anti-virus software. If you want a real weapon against viruses
  83. that always survives a viral attack we recommend Thunderbyte...
  84.  
  85.  
  86. Notes concerning the format of the signature file
  87. -------------------------------------------------
  88.  
  89. The format of the signature file (also called data file) is covered
  90. completely in the manual on disk. However, there are more scanners using
  91. the same signature file (virscan.dat) as compiled by Jan Terpstra.
  92. Unfortunately, not all scanners use the same format. There is at least one
  93. scanner that has some extensions to the signature file. These extensions
  94. that will not be recognized by TbScan(X) are:
  95.  
  96. -   The virus type identifier "PART" or "MAIN". In my opinion viruses that
  97.     infect only the partition table don't exist and will never exist. Why?
  98.     Because floppy disks don't have a partition table and are therefore not
  99.     suitable to carry such a virus. A virus programmer can be pretty sure
  100.     that his/her victims never share and exchange their fixed disks, so his
  101.     virus would not reach other systems. So we can conclude that viruses
  102.     with the keyword PART should also have the keyword BOOT.
  103.     Besides, there are many bootsector viruses that are capable of
  104.     infecting partition tables too. The end result is that all signatures with
  105.     the keyword PART should also have the keyword BOOT, and that viruses with
  106.     the keyword BOOT should also be searched on the partition table,
  107.     regardless of the keyword PART. Consider this and you will understand
  108.     that in almost all cases the words BOOT and PART are functional equal.
  109.     Even if a BOOT virus is not able to infect a partition table there is
  110.     no reason why we shouldn't scan for it. There is only one partition table
  111.     and it is only one disk sector in size, so scanning speed can not be the
  112.     reason. Why then using two or even three synonymous keywords? I don't
  113.     know, and I will not implement those keywords.
  114.  
  115. -   The virus type identifier "OVL". Only a few people know that the viruses
  116.     that are able to infect overlay files do so by accident, because there
  117.     are some linkers that create overlay files which are in reality a kind of
  118.     normal EXE file, and these files are also treated that way by DOS. The
  119.     virus "thinks" the file is a normal EXE file, and infects it.
  120.     The result is that some viruses that infect EXE files are also able to
  121.     infect some OVL files, it all depends fully on how their infection
  122.     routine is triggered. In my opinion there are no viruses that will ONLY
  123.     infect OVL files, because if they do so, they don't have much chance to
  124.     spread and they will not survive. Besides, infecting these OVL file is
  125.     the same process as infecting a EXE file, so why should the virus writer
  126.     add a special routine to prevent EXE files for becoming infected by their
  127.     virus? I don't know. The result is that the OVL keyword should always be
  128.     paired with a EXE keyword, and that many EXE viruses can accidentially
  129.     infect a OVL file. Consider this and you will understand that in almost
  130.     all cases the words EXE and OVL are equal. And even if a virus would
  131.     infect only OVL files it is not a real pain to search for those viruses
  132.     in EXE files too! Anyway, unlike some other scanners, TbScan scans all
  133.     OVL files automatically for all EXE viruses. Better safe than sorry!
  134.  
  135. -   The same story applies to SYS and BIN viruses. The only difference
  136.     between SYS and BIN files are their extensions, their internal layout
  137.     is exactly the same! For reasons beyond my comprehension, the author
  138.     of That Other scanner defined two keywords for the same virus type!
  139.     Can anybody explain me why it is not a good idea to search for a
  140.     BIN marked virus in a SYS file? And if so, why did he omit the
  141.     third synonym "DEV"?
  142.  
  143. -   The keyword PIF. I'm not a Windows expert, but I have my doubts whether
  144.     a file with the extension PIF contains really any executable code.
  145.  
  146. -   The keyword UMB. The keywords LOW and UMB are actually the same, as I
  147.     will explain below in "Notes concerning the scanning of memory". With
  148.     the release of DOS 5.00 the keyword UMB becomes obsolete anyway.
  149.     TbScan scans automatically the Upper Memory area for all viruses with
  150.     the keyword LOW set.
  151.  
  152. -   The XOR brackets '{' and '}'. This "scrambling" technique in its pure
  153.     appearance is so seldomly used and so subject to modifications
  154.     (mutations!), that this detection scheme is almost useless.
  155.  
  156. Note that these comments are not intended to anoy the author of "That Other
  157. scanner", nor to give you the impression that his product is less than mine.
  158. In fact, I'm surprised by the speed achieved by that scanner because it has
  159. been created with a high level programming language and is not very much
  160. slower compared to TbScan. I also borrowed some of the ideas implemented in
  161. that scanner. But I have to justify to the users of TbScan(X) why I don't
  162. implement these extensions to the data file. Defining a standard is always
  163. difficult, especially if the developers don't consult each other before
  164. introducing new extensions to the format of the shared input files. :-(
  165.  
  166.  
  167. Notes concerning the scanning of memory
  168. ---------------------------------------
  169.  
  170. TbScan recognizes two types of memory signature: LOW memory and HIGH memory
  171. viruses. The keywords are choosen not very carefully: the keyword LOW
  172. means that the virus is a normal TSR-type virus which could reside in
  173. memory below TbScan, and in upper memory. Both locations are suitable for
  174. TSR-type viruses and TbScan will scan both areas for signatures with the
  175. keyword LOW set. The keyword HIGH is intended for boot sector viruses (that
  176. have to allocate their memory by decreasing the available memory value
  177. maintained by the BIOS) and by viruses that allocate memory by manipulating
  178. the DOS memory control block chain.
  179.  
  180. Consider this layout:
  181.  
  182.                  ┌──────────────────────────┐   0Kb
  183.                  │                          │
  184.                  │ Low memory.              │
  185.                  │                          │
  186.         LOW      │ TSR's are loaded here    │
  187.                  │                          │
  188.                  │ also TSR type viruses    │
  189.                  │ are loaded here.         │
  190.                  ├──────────────────────────┤
  191.                  │                          │
  192.         N/A      │ TbScan is executed here  │
  193.                  ├──────────────────────────┤
  194.                  │                          │
  195.                  │                          │
  196.                  │ Free memory              │
  197.         HIGH     │                          │
  198.                  │                          │
  199.                  │                          │
  200.                  │                          │
  201.                  │                          │
  202.                  ├──────────────────────────┤   End of DOS available memory
  203.                  │ Top loaded software      │
  204.         HIGH     │ like MCB manipulators    │
  205.                  │ and some viruses reside  │
  206.                  │ in this area             │
  207.                  ├──────────────────────────┤   640Kb limit
  208.                  │                          │
  209.                  │ Video memory             │
  210.                  │ ROM's                    │
  211.                  │ EMS page frames          │
  212.         LOW      │ and Upper memory         │
  213.                  │ TSR's (and also TSR type │
  214.                  │ viruses) can reside here │
  215.                  ├──────────────────────────┤
  216.                  │ System BIOS              │
  217.         LOW      │                          │
  218.                  ├──────────────────────────┤   1Mb limit
  219.         LOW      │ HMA                      │
  220.                  └──────────────────────────┘
  221.  
  222. Note that TbScan does not have a special keyword for Upper Memory Viruses.
  223. Viruses that are able to use Upper Memory should also be able to use normal
  224. LOW memory, because they can not rely that there is Upper Memory in every
  225. machine they will reach. Normal TSR-viruses on the other hand can be loaded
  226. in Upper Memory using an appropriate highloader as supplied with Qemm or
  227. even DOS 5.00. So "UMB-type viruses" are the same as LOW viruses!
  228.  
  229. There is also no need to scan allocated pages of EMS. Viruses can never
  230. reside entirely in expanded memory. They should have at least a piece of
  231. code outside the EMS window, just to have access to the EMS driver to swap
  232. in the correct RAM-pages. By using that piece of code as the search
  233. signature also those (future?) viruses will be found, without the need
  234. to scan all EMS pages.
  235.  
  236. Some users think it is usefull to scan the memory for all viruses using the
  237. -allmem (+r) option of TbScan. I think it is not a good idea, because memory
  238. signatures are not the same as disk signatures. There are many scrambled
  239. viruses, but in memory they reside unscrambled. The signatures for both
  240. instances of the same viruses could be totally different! The same applies
  241. to signatures that incorporate uninitialized data. In memory the data is
  242. used for some purpose, and the memory values are different. Searching memory
  243. for disk-specific signatures is likely to cause false alarms and the
  244. signatures will not match the memory image of the virus anyway.
  245.